package com.lxg;

import com.lxg.dao.BookDao;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author 陆小根
 * date: 2022/04/23
 * Description:
 */

public class AppForLifeCycle {


  /*
  *  bean 生命周期总结
  *  -初始化容器
  *  1.创建对象(内存分配)
  *  2.执行构造方法
  *  3.执行属性注入(set操作)
  *  4.执行bean初始化方法
  * - 使用bean
  *  1.执行业务操作
  * 关闭/销毁容器
  *  1.执行bean销毁方法
  *
  * */

  public static void main(String[] args) {

    ClassPathXmlApplicationContext context =
            new ClassPathXmlApplicationContext("applicationContext.xml");
    BookDao bookDao = (BookDao) context.getBean("bookDao");

    bookDao.save();
//    context.close();
    context.registerShutdownHook(); // 生命周期钩子

  }

}
